Views হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ উপাদান। এটি অ্যাপ্লিকেশনের আউটপুট বা ইউজার ইন্টারফেস (UI) তৈরি করে। Reusability বা পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করার মাধ্যমে আপনি কোডকে পরিষ্কার, সংগঠিত এবং সহজে রক্ষণাবেক্ষণযোগ্য করতে পারেন।
View ফাইলগুলো app/Views/
ডিরেক্টরিতে সংরক্ষণ করতে হয়। উদাহরণস্বরূপ, একটি View তৈরি করতে:
app/Views/welcome_message.php
<!DOCTYPE html>
<html>
<head>
<title>Welcome to CodeIgniter</title>
</head>
<body>
<h1>Welcome to CodeIgniter!</h1>
<p>This is your first view.</p>
</body>
</html>
Controller এর মাধ্যমে View লোড করতে view()
ফাংশন ব্যবহার করুন:
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
return view('welcome_message');
}
}
উপরের Controller মেথডটি ব্রাউজারে http://localhost/your_project/public/welcome
এ অ্যাক্সেস করলে welcome_message
View প্রদর্শিত হবে।
Controller থেকে View এ ডেটা পাস করতে একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়:
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
$data = [
'title' => 'Welcome Page',
'message' => 'Hello, CodeIgniter!'
];
return view('welcome_message', $data);
}
}
View এ পাসকৃত ডেটা ব্যবহার করতে:
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
<h1><?= esc($message); ?></h1>
</body>
</html>
Views পুনরায় ব্যবহারযোগ্য করতে Header এবং Footer ফাইল আলাদা করুন:
Header ফাইল (header.php
):
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
Footer ফাইল (footer.php
):
</body>
</html>
Main Content ফাইলে include()
ফাংশন ব্যবহার করে Header এবং Footer যোগ করুন:
<?= view('header', ['title' => 'Home Page']); ?>
<h1>Welcome to CodeIgniter</h1>
<p>This is the main content.</p>
<?= view('footer'); ?>
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
return view('main_content');
}
}
Layouts ব্যবহার করে একটি মূল টেমপ্লেট তৈরি করা যায়:
Layout ফাইল (layout.php
):
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
<header>
<h1>My Website</h1>
</header>
<main>
<?= $this->renderSection('content'); ?>
</main>
<footer>
<p>© 2024 My Website</p>
</footer>
</body>
</html>
Child View মূল Layout এ নির্দিষ্ট সেকশন প্রতিস্থাপন করতে ব্যবহার করা হয়:
Child ফাইল (home.php
):
<?= $this->extend('layout'); ?>
<?= $this->section('content'); ?>
<h2>Welcome to the Homepage</h2>
<p>This is the home page content.</p>
<?= $this->endSection(); ?>
namespace App\Controllers;
class Home extends BaseController {
public function index() {
return view('home');
}
}
esc()
ফাংশন ব্যবহার করুন।CodeIgniter-এ Views এবং Reusability নিশ্চিত করার মাধ্যমে আপনি কোড ক্লিন এবং কার্যকর রাখতে পারবেন। এটি ডেভেলপমেন্ট সময় বাঁচানোর পাশাপাশি রক্ষণাবেক্ষণ সহজ করে।
Read more